-- *****************************************************************
-- CISCO-DIST-DIRECTOR-MIB.my: Cisco Distributed Director MIB Module
--
-- March 2001 Jun Xie
--
-- Copyright (c) 2001-2005 by Cisco Systems, Inc.
-- All rights reserved.
-- 
-- *****************************************************************

CISCO-DIST-DIRECTOR-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    TimeTicks,
    Integer32,
    Counter32,
    Gauge32,
    Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    RowStatus,
    TimeStamp,
    TimeInterval,
    TruthValue
        FROM SNMPv2-TC
    DnsName,
    DnsNameAsIndex,
    DnsType
        FROM DNS-SERVER-MIB
    InetAddressType,
    InetAddress
        FROM INET-ADDRESS-MIB
    CiscoPort
        FROM CISCO-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoDistDirMIB MODULE-IDENTITY
    LAST-UPDATED    "200511140000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
        "    Cisco Systems
            Customer Service

        Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

           Tel: +1 800 553-NETS

        E-mail: cs-dd@cisco.com"
    DESCRIPTION
        "Cisco Distributed Director MIB.

        The Cisco Distributed Director provides global Internet
        scalability and increased performance as seen by end
        users while reducing transmission costs and maximizing
        end-to-end access performance as seen by clients.

        The Cisco Distributed Director provides the ability to
        perform load distribution in a sophisticated manner that
        takes server availability, relative client-to-server
        topological proximities ('distances'), server load, and
        client-to-server link latency into account to determine
        the 'best' server. Having these provisions means that
        users need only a single subdomain name or Universal
        Resource Locator(URL)-embedded hostname for accessing a
        distributed set of servers. This eliminates the need for
        end-users to choose a server from a list of possible
        sites. The Cisco Distributed Director leverages the
        intelligence in the network to automatically,
        dynamically, and efficiently pick the 'best' server for
        the user, using a single hostname or DNS subdomain name.

        This MIB specification contains definitions of
        management information of the Distributed Director that
        can be remotely monitored and controlled. The
        information includes various statistics, configurations
        and status of Distributed Director.

        Some acronyms and terminologies used in this MIB, which
        may not be readily understood are defined below.

        DD           Distributed Director
        DRP          Director Response Protocol
        DFP          Dynamic Feedback Protocol
        DNS          Domain Name Service
        HTTP         HyperText Transfer Protocol
        URL          Uniform Resource Locator
        BGP          Border Gateway Protocol
        AS           Autonomous System
        MED          Multi-Exit Discriminator
        RTT          Round-Trip Time
        TCP          Transmission Control Protocol
        NMS          Network Management Station
        CLI          Command Line Interface
        Syslog       a de-facto standard for logging system
                     events "
    REVISION    "200511140000Z"
    DESCRIPTION
            "Updated the imports such that Unsigned32 is imported from 
            SNMPv2-SMI instead of CISCO-TC."
    REVISION    "200103140000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 197 }


ciscoDistDirMIBObjects OBJECT IDENTIFIER ::= { ciscoDistDirMIB 1 }

cddGeneral OBJECT IDENTIFIER ::= { ciscoDistDirMIBObjects 1 }
cddHost    OBJECT IDENTIFIER ::= { ciscoDistDirMIBObjects 2 }
cddServer  OBJECT IDENTIFIER ::= { ciscoDistDirMIBObjects 3 }
cddMapping OBJECT IDENTIFIER ::= { ciscoDistDirMIBObjects 4 }


-- Textual Conventions

CddMetricType ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This textual convention defines metric types in the DD.
        There are many criteria which the DD system can use
        when sorting a list of IP addresses. In order to
        collect all of the information used for sorting, the DD
        system can use one or many of the different 'metrics'
        it has built in. Once a set of metrics are selected and
        the information has been gathered, there are many
        different ways to put this information together and
        arrive at a sorted list. The currently available
        metrics are as follows.

        DRP external metric (drpExternal(1)):
        This metric is gathered by sending a Director Response
        Protocol (DRP) request to all DRP associated routers,
        asking them for the number of BGP 'hops' between them
        and the client originating the DNS/HTTP query/request.

        DRP internal metric (drpInternal(2)):
        This metric is gathered by sending a DRP request to all
        DRP associated routers, asking them for the distance
        from themselves to the edge of their BGP AS in the
        direction of the client originating the DNS/HTTP
        query/request.

        DRP server metric (drpServer(3)):
        This metric is gathered by sending a DRP request to all
        DRP associated routers, asking them for the distance
        between themselves and their associated remote server.

        DRP RTT metric (drpRtt(4)):
        This metric is gathered by sending a DRP request to all
        DRP associated routers, asking them for the round-trip
        time between themselves and the client originating the
        DNS/HTTP query/request. This metric can be used to
        direct the client to the server that is likely to have
        a minimum link latency to the client.

        Administrative preference metric (admin(5)):
        This metric can be used in order to specify a simple
        preference of one server over another.

        Random metric (random(6)):
        This metric simply selects a random number for each IP
        address. If only this metric were used, it would result
        in selecting an IP address at random from the list.

        Portion metric (portion(7)):
        This metric enables users to assign a load portion to
        each server such that servers with a higher portion
        value will receive a larger percentage of connections
        at any one time. The Distributed Director uses these
        portion metric values to determine the percentage of
        the current number of requests to give to each server.

        DFP availability metric (dfpAvailability(8)):
        This metric enables the Director to make server
        selection based on server load. The DD obtains the
        server load information from all Dynamic Feedback
        Protocol (DFP) agents running on local server load
        balancers. Servers with less load will receive more
        connections from clients.

        Route map metric (routeMap(9)):
        This metric uses the Cisco route map mechanism to
        perform server selection based on the route from the
        servers to the client originating the DNS/HTTP
        query/request."
    SYNTAX  INTEGER { drpExternal     (1),
              drpInternal     (2),
              drpServer       (3),
              drpRtt          (4),
              admin           (5),
              random          (6),
              portion         (7),
              dfpAvailability (8),
              routeMap        (9) }

CddMetricPriority ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS  current
    DESCRIPTION
        "This textual convention defines a priority level of
        a metric type. The priority is used by the Distributed
        Director to determine the order in which metrics are
        considered for selecting a server. The less the value,
        the higher the priority is. For example, the DRP
        external metric's priority has the value '1' and the
        random metric's priority has the value '2'. All
        potential server's DRP external metrics are compared
        first. If multiple servers have the same metric value,
        the random metrics would be compared next. If multiple
        metric types have the same priority value, the metrics
        are added to obtain a composite metric.

        If a metric's priority has the value of '0', the metric
        is not considered to determine the best server."
    SYNTAX  Unsigned32 (0..101)

CddMetricWeight ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS  current
    DESCRIPTION
        "This textual convention defines a weight value for a
        metric type. When a metric type is referenced to
        determine the best server, the metric will always be
        multiplied by its weight.

        If a metric's weight has the value of '0', the metric
        is not considered to determine the best server."
    SYNTAX  Unsigned32 (0..100)

CddMetricProfileId ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS  current
    DESCRIPTION
        "A unique value, greater than zero, which uniquely
        identifies a metric profile in the DD system. A metric
        profile contains priority and weight values for all
        metrics in the profile."
    SYNTAX  Unsigned32 (1..4294967295)

CddMetricProfileIdOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS  current
    DESCRIPTION
        "This textual convention is an extension of the
        CddMetricProfileId convention. The latter defines a
        greater than zero value to identify a metric profile in
        the DD system. This extension permits the additional
        value of '0'. The value '0' is object-specific and must
        be defined as part of the description of any object
        which uses this syntax."
    SYNTAX  Unsigned32 (0..4294967295)


-- DD general configuration, statistics and status information

cddGeneralMetricProfTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddGeneralMetricProfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains a list of metric profiles.
        A profile can be identified by the index
        cddGeneralMetricProfId. When a profile's identifier is
        assigned to an object whose syntax is
        CddMetricProfileId or CddMetricProfileIdOrZero, all
        priority and weight values for all metrics in the
        profile are applied."
    ::= { cddGeneral 1 }

cddGeneralMetricProfEntry OBJECT-TYPE
    SYNTAX     CddGeneralMetricProfEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing the priority and weight values for
        a metric in a metric profile. Each entry is associated
        with a specific metric profile identifier and metric
        type combination. A profile consists of all entries
        that have the same cddGeneralMetricProfId value. In a
        profile, there may be one or more metrics, which can be
        identified by the index cddGeneralMetricProfMetric.

        Entries in this table may be queried, created or
        deleted by NMS."
    INDEX    { cddGeneralMetricProfId,
          cddGeneralMetricProfMetric }
    ::= { cddGeneralMetricProfTable 1 }

CddGeneralMetricProfEntry ::=
    SEQUENCE {
        cddGeneralMetricProfId         CddMetricProfileId,
        cddGeneralMetricProfMetric     CddMetricType,
        cddGeneralMetricProfPriority   CddMetricPriority,
        cddGeneralMetricProfWeight     CddMetricWeight,
        cddGeneralMetricProfRowStatus  RowStatus
    }

cddGeneralMetricProfId OBJECT-TYPE
    SYNTAX     CddMetricProfileId
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The identifier of a metric profile."
    ::= { cddGeneralMetricProfEntry 1 }

cddGeneralMetricProfMetric OBJECT-TYPE
    SYNTAX     CddMetricType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The type of a metric in the profile."
    ::= { cddGeneralMetricProfEntry 2 }

cddGeneralMetricProfPriority OBJECT-TYPE
    SYNTAX     CddMetricPriority
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The priority value of the metric in the profile."
    DEFVAL     { 101 }
    ::= { cddGeneralMetricProfEntry 3 }

cddGeneralMetricProfWeight OBJECT-TYPE
    SYNTAX     CddMetricWeight
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The weight value of the metric in the profile."
    DEFVAL     { 1 }
    ::= { cddGeneralMetricProfEntry 4 }

cddGeneralMetricProfRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddGeneralMetricProfEntry 5 }

cddGeneralQueries OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The total number of requests for information the
        Distributed Director has received. They include DNS
        queries and HTTP requests for all virtual host names
        or subdomains."
    ::= { cddGeneral 2 }

cddGeneralReplies  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The total number of requests for information the
        Distributed Director has processed. They include DNS
        queries and HTTP requests for all virtual host names
        or subdomains."
    ::= { cddGeneral 3 }

cddGeneralQueueProcess  OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The current number of DNS queries and HTTP requests in
        the queue to be processed by the Distributed Director."
    ::= { cddGeneral 4 }

cddGeneralQueueMetric  OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The current number of outstanding DNS queries and HTTP
        requests being held until metric information (e.g.,
        DRP internal and DRP external metrics) arrives."
    ::= { cddGeneral 5 }

cddGeneralMetricWaitMin  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The minimum time DNS/HTTP queries/requests are held
        before the metric information is processed by the
        Distributed Director."
    ::= { cddGeneral 6 }

cddGeneralMetricWaitAvg  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The average time DNS/HTTP queries/requests are held
        before the metric information is processed by the
        Distributed Director."
    ::= { cddGeneral 7 }

cddGeneralMetricWaitMax  OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The maximum time DNS/HTTP queries/requests are held
        before the metric information is processed by the
        Distributed Director."
    ::= { cddGeneral 8 }

cddGeneralCacheHits  OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Represents the total number of DNS queries and HTTP
        requests that were satisfied with contents of the
        Distributed Director cache."
    ::= { cddGeneral 9 }

cddGeneralCacheEnable  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This object enables/disables the sorting cache on the
        Distributed Director."
    DEFVAL     { true }
    ::= { cddGeneral 10 }

cddGeneralCacheTime  OBJECT-TYPE
    SYNTAX     Unsigned32 (1..2147483)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Specifies the minimum amount of time the Distributed
        Director will retain request and response information
        to DNS/HTTP queries/requests. This object is not
        applicable if the value of the cddGeneralCacheEnable
        object is 'false'."
    DEFVAL     { 60 }
    ::= { cddGeneral 11 }

cddGeneralTTL  OBJECT-TYPE
    SYNTAX     Unsigned32 (0..2147483647)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Specifies the time-to-live value for the DNS resource
        records returned by the Distributed Director."
    DEFVAL     { 0 }
    ::= { cddGeneral 12 }

cddGeneralDefPriorityWeight  OBJECT-TYPE
    SYNTAX     CddMetricProfileIdOrZero
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Specifies the identifier of a metric profile that is
        used as the default metric priority and weight values
        for the Distributed Director.

        The value '0' indicates that no profile is used as the
        default priority and weight values."
    DEFVAL     { 0 }
    ::= { cddGeneral 13 }

cddGeneralQueryRate OBJECT-TYPE
    SYNTAX     Gauge32
    UNITS      "queries per second"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The received DNS/HTTP queries/requests rate in the
        last one second period."
    ::= { cddGeneral 14 }

cddGeneralAccessList OBJECT-TYPE
    SYNTAX     Unsigned32 (0..199)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates the access list that is assigned to the
        Distributed Director. The access list is a case-
        insensitive regular expression that is used to match
        against DNS name to address translation requested. If
        the DNS name in the query matches the access list,
        director processing will be performed; otherwise, the
        query will be forwarded in the canonical catching name
        server fashion.

        The value '0' indicates that no access list is assigned
        to the Distributed Director."
    ::= { cddGeneral 15 }


-- DD per virtual hostname/subdomain configurations, statistics & status

cddHostTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddHostEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of Distributed Director virtual host name or
        subdomain specific configurations, statistics and
        status entries."
    ::= { cddHost 1 }

cddHostEntry OBJECT-TYPE
    SYNTAX     CddHostEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing configurations, statistics and
        status information for the specified combination of
        virtual host name/subdomain and query type.

        Entries in this table may be queried, created or
        deleted by NMS. Deleting an entry from this table will
        cause associated entries in the dependent tables
        (cddHostConnectCfgTable and cddHostTolCfgTable) to be
        deleted as well."
    INDEX    { cddHostName, cddHostQueryType }
    ::= { cddHostTable 1 }

CddHostEntry ::=
    SEQUENCE {
        cddHostName        DnsNameAsIndex,
        cddHostQueryType    DnsType,
        cddHostServicePort    CiscoPort,
        cddHostPriorityWeight    CddMetricProfileIdOrZero,
        cddHostDrpMed        TruthValue,
        cddHostDrpRttProbes    Unsigned32,
        cddHostDrpRttTol    Unsigned32,
        cddHostAccessControl    TruthValue,
        cddHostMultipleRecord    Unsigned32,
        cddHostLogging        TruthValue,
        cddHostUrlString    SnmpAdminString,
        cddHostUrlIntv        TimeInterval,
        cddHostRequests        Counter32,
        cddHostReplies        Counter32,
        cddHostRowStatus    RowStatus
    }

cddHostName OBJECT-TYPE
    SYNTAX     DnsNameAsIndex
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The name of a virtual host or subdomain."
    ::= { cddHostEntry 1 }

cddHostQueryType OBJECT-TYPE
    SYNTAX     DnsType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The type of DNS query for which this host entry
        information would be used. Currently only query type
        'A(1)', 'NS(2)', and 'MX(15)' are supported."
    ::= { cddHostEntry 2 }

cddHostServicePort OBJECT-TYPE
    SYNTAX     CiscoPort
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The service port number for the specified combination
        of virtual host name and query type.

        Setting this object to the value '0' will disable the
        usage of the service port."
    DEFVAL     { 0 }
    ::= { cddHostEntry 3 }

cddHostPriorityWeight OBJECT-TYPE
    SYNTAX     CddMetricProfileIdOrZero
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the identifier of a metric profile. The
        priority and weight values for all metrics in the
        profile are assigned to the specified combination of
        virtual host name and query type.

        The value '0' indicates that no profile is assigned to
        the combination of virtual host name and query type."
    DEFVAL     { 0 }
    ::= { cddHostEntry 4 }

cddHostDrpMed OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Enables/disables the drp-med option. The drp-med
        option enables the DD to use the BGP MED attribute in
        redirection decisions in cases where there is more than
        one DRP agent in the same autonomous system and at
        least two of the DRP agents point to different exit
        points for the same client network due to the way that
        BGP is set up in the AS."
    DEFVAL     { false }
    ::= { cddHostEntry 5 }

cddHostDrpRttProbes OBJECT-TYPE
    SYNTAX     Unsigned32 (1..3)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The number of round-trip time probes that the DRP agent
        should attempt."
    DEFVAL     { 1 }
    ::= { cddHostEntry 6 }

cddHostDrpRttTol OBJECT-TYPE
    SYNTAX     Unsigned32 (0..100)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The tolerance percentage value for the drp-rtt metric.
        If two drp-rtt metrics are within the tolerance
        percentage of each other in value, they should be
        assumed to be tied."
    DEFVAL     { 10 }
    ::= { cddHostEntry 7 }

cddHostAccessControl OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Enables/disables the use of access control lists when
        sorting IP addresses for this hostname. In access
        control mode, if the IP address of a client is not
        permitted by the access list associated with a server,
        that server is removed from selection."
    DEFVAL     { false }
    ::= { cddHostEntry 8 }

cddHostMultipleRecord OBJECT-TYPE
    SYNTAX     Unsigned32 (1..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the maximum number of DNS resource records
        that can be returned to DNS clients.

        For the value '1' of this object, the Distributed
        Director only returns the 'best' server's IP address in
        a DNS reply. This object can be used to specify that
        multiple DNS resource records may be returned in a
        completely sorted order according to the given
        priorities of metrics with the 'best' selected by
        normal criteria as the first one in the list."
    DEFVAL     { 1 }
    ::= { cddHostEntry 9 }

cddHostLogging OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies if the DNS/HTTP request/response and server
        selection process are logged via 'syslog' facility.
        The severity 'info(7)' is used for logging 'syslog'
        messages."
    DEFVAL     { false }
    ::= { cddHostEntry 10 }

cddHostUrlString OBJECT-TYPE
    SYNTAX     SnmpAdminString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the URL that is used by the Distributed
        Director to determine remote server's availability by
        connecting to the host service port and attempting to
        retrieve a web page."
    DEFVAL     { "" }
    ::= { cddHostEntry 11 }

cddHostUrlIntv OBJECT-TYPE
    SYNTAX     TimeInterval (0..3276700)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the duration between two service availability
        checking processes. The Distributed Director checks the
        service availability periodically by connecting to the
        host service port for retrieving a web page with the
        time duration value of this object.

        Setting this object to the value '0' will disable the
        service availability checking."
    DEFVAL     { 0 }
    ::= { cddHostEntry 12 }

cddHostRequests OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of DNS/HTTP queries/requests the Distributed
        Director has received for the combination of virtual
        host name and query type."
    ::= { cddHostEntry 13 }

cddHostReplies OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of DNS/HTTP queries/requests the Distributed
        Director has processed for the combination of virtual
        host name and query type."
    ::= { cddHostEntry 14 }

cddHostRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddHostEntry 15 }


-- DD per-host server connect test information

cddHostConnectCfgTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddHostConnectCfgEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of Distributed Director per-host server connect
        test information entries. This information includes the
        configuration parameters used by Distributed Director's
        server connect tests."
    ::= { cddHost 2 }

cddHostConnectCfgEntry OBJECT-TYPE
    SYNTAX     CddHostConnectCfgEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A Distributed Director per-host server connect test
        configuration information entry, which specifies
        whether and how a TCP connect test should be performed
        for each server associated with this host.

        Entries in this table may be queried, created or
        deleted by NMS. Each entry in this table is dependent
        on entries in cddHostTable. If the associated entry in
        cddHostTable that has the same cddHostName and
        cddHostQueryType values is deleted, the entry in this
        table is deleted as well."
    INDEX    { cddHostName,
          cddHostQueryType,
          cddHostConnectCfgPort }
    ::= { cddHostConnectCfgTable 1 }

CddHostConnectCfgEntry ::=
    SEQUENCE {
        cddHostConnectCfgPort        CiscoPort,
        cddHostConnectCfgIntv        TimeInterval,
        cddHostConnectCfgRowStatus    RowStatus
    }

cddHostConnectCfgPort OBJECT-TYPE
    SYNTAX     CiscoPort (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A port number, to which a TCP connect test
        should be performed for each server associated with
        this host."
    ::= { cddHostConnectCfgEntry 1 }

cddHostConnectCfgIntv OBJECT-TYPE
    SYNTAX     TimeInterval (0..3276700)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The connect test interval, which is used for empirical
        verification that the service is available on the port.

        Setting this object to the value '0' will disable the
        server connect test on the port for this host."
    DEFVAL     { 0 }
    ::= { cddHostConnectCfgEntry 2 }

cddHostConnectCfgRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddHostConnectCfgEntry 3 }


-- DD per-host metrics tolerance information at a priority level

cddHostTolCfgTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddHostTolCfgEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of Distributed Director per-host priority
        level metrics tolerance information entries."
    ::= { cddHost 3 }

cddHostTolCfgEntry OBJECT-TYPE
    SYNTAX     CddHostTolCfgEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing Distributed Director per-host
        metrics tolerance information at a priority level. If
        at a priority level two or more remote servers have
        metric values that are within a certain tolerance
        percentage of each other, they are considered to be the
        same and thus causing a 'tie'. In this case, the metrics
        at the next priority level will be used in order to
        break the tie.

        For example, the DRP RTT metric is given priority 1 and
        the DRP external metric is given priority 2; and the
        tolerance percentage value is set to 20 at priority 1.
        If server 'A' has the DRP RTT metric value of 100 and
        server 'B' has the value of 119, they will be
        considered the same because their difference is within
        20% of the metric value of server 'A'. Then the DRP
        external metric will be used to select the best server.

        Entries in this table may be queried, created or
        deleted by NMS. Each entry in this table is dependent
        on entries in cddHostTable. If the associated entry in
        cddHostTable that has the same cddHostName and
        cddHostQueryType values is deleted, the entry in this
        table is deleted as well."
    INDEX    { cddHostName, cddHostQueryType, cddHostTolCfgPrio }
    ::= { cddHostTolCfgTable 1 }

CddHostTolCfgEntry ::=
    SEQUENCE {
        cddHostTolCfgPrio    CddMetricPriority,
        cddHostTolCfgPerc    Unsigned32,
        cddHostTolCfgRowStatus    RowStatus
    }

cddHostTolCfgPrio OBJECT-TYPE
    SYNTAX     CddMetricPriority (1..101)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Specifies the metrics tolerance priority level for the
        host."
    ::= { cddHostTolCfgEntry 1 }

cddHostTolCfgPerc OBJECT-TYPE
    SYNTAX     Unsigned32 (1..100)
    UNITS      "percentage"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the metrics tolerance percentage value
        associated with the priority level."
    DEFVAL     { 10 }
    ::= { cddHostTolCfgEntry 2 }

cddHostTolCfgRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddHostTolCfgEntry 3 }


-- DD server specific configurations, statistics and states

cddServerTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddServerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of Distributed Director server specific
        information entries. This information includes the
        configuration parameters, statistics and availability
        status for each server."
    ::= { cddServer 1 }

cddServerEntry OBJECT-TYPE
    SYNTAX     CddServerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing Distributed Director server
        specific configuration, statistics and status
        information.

        Entries in this table may be queried, created or
        deleted by NMS. Deleting an entry from this table will
        cause associated entries in the dependent tables
        (cddServerPortTable and cddServerPortMetricTable) to be
        deleted as well."
    INDEX    { cddServerAddrType, cddServerAddr }
    ::= { cddServerTable 1 }

CddServerEntry ::=
    SEQUENCE {
        cddServerAddrType    InetAddressType,
        cddServerAddr        InetAddress,
        cddServerDrpAddrType    InetAddressType,
        cddServerDrpAddr    InetAddress,
        cddServerAdmin        Integer32,
        cddServerPortion    Unsigned32,
        cddServerName        DnsName,
        cddServerAvail        Unsigned32,
        cddServerHits        Counter32,
        cddServerLastHitTime    TimeStamp,
        cddServerDrpSerMetric    Unsigned32,
        cddServerPortionHits    Counter32,
        cddServerAccessList    Unsigned32,
        cddServerRowStatus    RowStatus
    }

cddServerAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The type of IP address for the cddServerAddr object.
        Only the support for the value 'ipv4(1)' is required."
    ::= { cddServerEntry 1 }

cddServerAddr OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The IP address of a server that is associated with a
        virtual host name."
    ::= { cddServerEntry 2 }

cddServerDrpAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The type of IP address for the cddServerDrpAddr
        object."
    ::= { cddServerEntry 3 }

cddServerDrpAddr OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The IP address of the Director Response Protocol (DRP)
        agent that supports this server."
    ::= { cddServerEntry 4 }

cddServerAdmin OBJECT-TYPE
    SYNTAX     Integer32 (-1..100)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The administrative preference metric value for the
        server. It specifies the preference of one server over
        another (the larger the number, the lower the
        preference).

        Setting this object to the value '0' will take the
        server out-of-service. Setting this object to the value
        '-1' will disable the usage of this metric."
    DEFVAL     { -1 }
    ::= { cddServerEntry 5 }

cddServerPortion OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the portion metric value for the server."
    DEFVAL     { 0 }
    ::= { cddServerEntry 6 }

cddServerName OBJECT-TYPE
    SYNTAX     DnsName
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The host name that will be used in the URL instead of
        the server's IP address if this server is selected
        while in HTTP redirector mode."
    DEFVAL     { "" }
    ::= { cddServerEntry 7 }

cddServerAvail OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The default availability metric value for all ports on
        the server. This value is used if the DFP reported
        availability value is found to have timed out, or has
        not been reported yet, or if the associated port for the
        virtual hostname has not been configured such that the
        correct availability can not be determined from the DFP
        information."
    DEFVAL     { 0 }
    ::= { cddServerEntry 8 }

cddServerHits OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times this server has been advertised as
        the best server for the subdomain or host name."
    ::= { cddServerEntry 9 }

cddServerLastHitTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The last time the server was advertised as the best
        server for the subdomain name or host name."
    ::= { cddServerEntry 10 }

cddServerDrpSerMetric OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates the DRP server metric value of the server."
    ::= { cddServerEntry 11 }

cddServerPortionHits OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times this server has been advertised
        as the best server due to the server specific portion
        metric."
    ::= { cddServerEntry 12 }

cddServerAccessList OBJECT-TYPE
    SYNTAX     Unsigned32 (0..99)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates the access list that is used to verify
        if this server should be selectable as a valid choice
        for a particular client. This list will only be checked
        if the access control is turned on for the hostname
        being looked up.

        The value '0' indicates that no access list is used."
    ::= { cddServerEntry 13 }

cddServerRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddServerEntry 14 }


-- DD server port specific configurations, statistics and status

cddServerPortTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddServerPortEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of Distributed Director server port specific
        information entries. This information includes the
        configuration parameters, statistics and availability
        status for each service port on servers."
    ::= { cddServer 2 }

cddServerPortEntry OBJECT-TYPE
    SYNTAX     CddServerPortEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing Distributed Director server port
        specific configuration, statistics and status
        information.

        Entries in this table may be queried, created or
        deleted by NMS. Deleting an entry from this table will
        cause associated entries in the dependent table
        (cddServerPortMetricTable) to be deleted as well. Each
        entry in this table is dependent on entries in
        cddServerTable. If the associated entry in
        cddServerTable that has the same cddServerAddrType and
        cddServerAddr values is deleted, the entry in this
        table is deleted as well."
    INDEX    { cddServerAddrType, cddServerAddr, cddServerPortNum }
    ::= { cddServerPortTable 1 }

CddServerPortEntry ::=
    SEQUENCE {
        cddServerPortNum        CiscoPort,
        cddServerPortAdmin        Integer32,
        cddServerPortConnIntv        TimeInterval,
        cddServerPortPortion        Unsigned32,
        cddServerPortAvail        Unsigned32,
        cddServerPortUrlString        SnmpAdminString,
        cddServerPortUrlIntv        TimeInterval,
        cddServerPortHits        Counter32,
        cddServerPortStatus        INTEGER,
        cddServerPortDownCertainty    Gauge32,
        cddServerPortNextRetry        TimeTicks,
        cddServerPortPortionHits    Counter32,
        cddServerPortAccessList        Unsigned32,
        cddServerPortRowStatus        RowStatus
    }

cddServerPortNum OBJECT-TYPE
    SYNTAX     CiscoPort (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The service port number of the server."
    ::= { cddServerPortEntry 1 }

cddServerPortAdmin OBJECT-TYPE
    SYNTAX     Integer32 (-1..100)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The administrative preference metric value for the
        server and the port. It specifies the preference of
        one server over another (the larger the number, the
        lower the preference).

        Setting this object to the value '0' will take the
        server out-of-service. Setting this object to the value
        '-1' will disable the usage of this server port specific
        metric, and the less specific per-server metric value
        will be used instead."
    DEFVAL     { -1 }
    ::= { cddServerPortEntry 2 }

cddServerPortConnIntv OBJECT-TYPE
    SYNTAX     TimeInterval (0..3276700)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The connect test interval, which is used for empirical
        verification that the service is available on this port
        of the server.

        Setting this object to the value '0' will disable the
        server connect test on this port of the server."
    DEFVAL     { 0 }
    ::= { cddServerPortEntry 3 }

cddServerPortPortion OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The portion metric value for the port of the server.

        Setting this object to the value '0' will disable the
        usage of this 'per-service' metric, and the less
        specific 'per-server' metric value will be used
        instead."
    DEFVAL     { 0 }
    ::= { cddServerPortEntry 4 }

cddServerPortAvail OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The default DFP availability metric value for the port
        of the server. This value is used if the DFP reported
        availability value is found to have timed out, has not
        been reported yet, or if the associated port for the
        virtual hostname has not been configured such that the
        correct availability can not be determined from the DFP
        information. If the default availability has been
        configured for both the port and the server, the port
        specific value will be used."
    DEFVAL     { 0 }
    ::= { cddServerPortEntry 5 }

cddServerPortUrlString OBJECT-TYPE
    SYNTAX     SnmpAdminString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the URL that is used by the Distributed
        Director to determine remote server's availability by
        connecting to the port of the server and attempting to
        retrieve a web page."
    DEFVAL     { "" }
    ::= { cddServerPortEntry 6 }

cddServerPortUrlIntv OBJECT-TYPE
    SYNTAX     TimeInterval (0..3276700)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "Specifies the duration between two service availability
        checking processes. The Distributed Director checks the
        service availability periodically by connecting to the
        port of the server for retrieving a web page with the
        time duration value of this object.

        If this object has the value of '0', the less specific
        per-server duration is used."
    DEFVAL     { 0 }
    ::= { cddServerPortEntry 7 }

cddServerPortHits OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times the server has been advertised as
        the best server for the service provided on the port."
    ::= { cddServerPortEntry 8 }

cddServerPortStatus OBJECT-TYPE
    SYNTAX     INTEGER { up           (1),
                         down         (2),
                         undetermined (3) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates whether the port service is available or not.
        The possible service statuses are as follows:

        undetermined - the service was not tested or the service
                       state can't be determined.
        up           - the service is known to be available.
        down         - the service is known to be unavailable."
    ::= { cddServerPortEntry 9 }

cddServerPortDownCertainty OBJECT-TYPE
    SYNTAX     Gauge32 (10..100)
    UNITS      "percentage"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates the percentage of the downed port service
        possibility. This value is applicable only if the value
        of cddServerPortStatus is 'down'."
    ::= { cddServerPortEntry 10 }

cddServerPortNextRetry OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The amount of time left before the next checking of
        port service availability starts. If the checking of
        service availability is proceeding, this object has the
        value '0'."
    ::= { cddServerPortEntry 11 }

cddServerPortPortionHits OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times this server has been advertised
        as the best server due to the server port specific
        portion metric."
    ::= { cddServerPortEntry 12 }

cddServerPortAccessList OBJECT-TYPE
    SYNTAX     Unsigned32 (0..99)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Indicates the per-port access list that is used to
        verify if this server should be selectable as a valid
        choice for a particular client. This list will only be
        checked if the access control is turned on for the
        hostname being looked up.

        If this object has the value of '0', the less specific
        per-server access list will be used instead."
    ::= { cddServerPortEntry 13 }

cddServerPortRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddServerPortEntry 14 }


-- DD server port specific metric weight information

cddServerPortMetricTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddServerPortMetricEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of Distributed Director per-service per-metric
        weight entries."
    ::= { cddServer 3 }

cddServerPortMetricEntry OBJECT-TYPE
    SYNTAX     CddServerPortMetricEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing Distributed Director per-service
        per-metric weight information.

        Entries in this table may be queried, created or
        deleted by NMS. Each entry in this table is dependent
        on entries in cddServerTable and cddServerPortTable.
        If the associated entry in cddServerTable that has the
        same cddServerAddrType and cddServerAddr values or the
        associated entry in cddServerPortTable that has the
        same cddServerPortNum value is deleted, the entry in
        this table is deleted as well."
    INDEX    { cddServerAddrType,
          cddServerAddr,
          cddServerPortNum,
          cddServerPortMetricType }
    ::= { cddServerPortMetricTable 1 }

CddServerPortMetricEntry ::=
    SEQUENCE {
        cddServerPortMetricType        CddMetricType,
        cddServerPortMetricWeight    CddMetricWeight,
        cddServerPortMetricRowStatus    RowStatus
    }

cddServerPortMetricType OBJECT-TYPE
    SYNTAX     CddMetricType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The type of the metric to which the per-service
        per-metric weight applies. When this metric is
        referenced with respect to this server and port, the
        metric's value will be multiplied by the weight given.

        For example, if one remote server is known to be able
        to handle twice the load of another remote server, the
        DFP availability metric's value can be multiplied by a
        weight of '2' for the slower server and by a weight of
        '1' for the faster server."
    ::= { cddServerPortMetricEntry 1 }

cddServerPortMetricWeight OBJECT-TYPE
    SYNTAX     CddMetricWeight
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The per-service per-metric weight for the metric.

        If this object has the value of '0', the host specific
        weight for the metric will be used instead."
    DEFVAL     { 0 }
    ::= { cddServerPortMetricEntry 2 }

cddServerPortMetricRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddServerPortMetricEntry 3 }


-- DD host and server mapping

cddHostServerMappingTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CddHostServerMappingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains zero or more rows of virtual
        hostname and query type combination to real server
        associations.

        For each virtual hostname and query type combination,
        there are zero or more real servers associated with it.
        One real server may be associated with multiple virtual
        hostname and query type combinations."
    ::= { cddMapping 1 }

cddHostServerMappingEntry OBJECT-TYPE
    SYNTAX     CddHostServerMappingEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry containing a particular virtual hostname and
        query type combination to real server association
        information."
    INDEX    { cddHostName,
          cddHostQueryType,
          cddHostServerMappingServerAddrType,
          cddHostServerMappingServerAddr }
    ::= { cddHostServerMappingTable 1 }

CddHostServerMappingEntry ::=
    SEQUENCE {
        cddHostServerMappingServerAddrType    InetAddressType,
        cddHostServerMappingServerAddr        InetAddress,
        cddHostServerMappingRowStatus        RowStatus
    }

cddHostServerMappingServerAddrType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The type of IP address for the
        cddHostServerMappingServerAddr object.
        Only the support for the value 'ipv4(1)' is required."
    ::= { cddHostServerMappingEntry 1 }

cddHostServerMappingServerAddr OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The IP address of one of the servers associated with
        the combination of the virtual host name and query
        type."
    ::= { cddHostServerMappingEntry 2 }

cddHostServerMappingRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of the row. This object is used to create
        a new row or delete an existing row in this table."
    ::= { cddHostServerMappingEntry 3 }


-- Notifications

ciscoDistDirMIBNotificationPrefix OBJECT IDENTIFIER ::=
    { ciscoDistDirMIB 2 }
ciscoDistDirMIBNotifications OBJECT IDENTIFIER ::=
    { ciscoDistDirMIBNotificationPrefix 0 }

ciscoDistDirEventServerUp NOTIFICATION-TYPE
       OBJECTS { cddServerPortStatus }
       STATUS  current
       DESCRIPTION
        "This notification is sent if the state transition of
        cddServerPortStatus object is from 'down' or
        'undetermined' to 'up' state."
    ::= { ciscoDistDirMIBNotifications 1 }

ciscoDistDirEventServerDown NOTIFICATION-TYPE
       OBJECTS { cddServerPortStatus }
       STATUS  current
       DESCRIPTION
        "This notification is sent if the state transition of
        cddServerPortStatus object is from 'up' or
        'undetermined' to 'down' state."
    ::= { ciscoDistDirMIBNotifications 2 }

ciscoDistDirEventHitRateHigh NOTIFICATION-TYPE
       OBJECTS { cddGeneralQueryRate }
       STATUS  current
       DESCRIPTION
        "High DNS/HTTP queries/requests notification.
        mteEventTable and mteTriggerThresholdTable in
        DISMAN-EVENT-MIB can be used to control the trigger of
        this notification."
    ::= { ciscoDistDirMIBNotifications 3 }


-- Conformance

ciscoDistDirMIBConformance OBJECT IDENTIFIER ::=
    { ciscoDistDirMIB 3 }
ciscoDistDirMIBCompliances OBJECT IDENTIFIER ::=
    { ciscoDistDirMIBConformance 1 }
ciscoDistDirMIBGroups      OBJECT IDENTIFIER ::=
    { ciscoDistDirMIBConformance 2 }

-- Compliance

ciscoDistDirMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for entities which implement
        the Cisco Distributed Director MIB."
    MODULE    -- this module
        MANDATORY-GROUPS { ciscoDistDirGeneralGroup,
                           ciscoDistDirHostGroup,
                           ciscoDistDirServerGroup,
                           ciscoDistDirMappingGroup,
                   ciscoDistDirNotificationGroup
                 }

    OBJECT  cddServerDrpAddrType
    SYNTAX  INTEGER { ipv4(1) }
    DESCRIPTION
        "Only one 'ipv4(1)' of the four enumerated values for
        the InetAddressType textual convention is supported."
    ::= { ciscoDistDirMIBCompliances 1 }

-- Units of Conformance

ciscoDistDirGeneralGroup OBJECT-GROUP
    OBJECTS {
        cddGeneralMetricProfPriority,
        cddGeneralMetricProfWeight,
        cddGeneralMetricProfRowStatus,
        cddGeneralQueries,
        cddGeneralReplies,
        cddGeneralQueueProcess,
        cddGeneralQueueMetric,
        cddGeneralMetricWaitMin,
        cddGeneralMetricWaitAvg,
        cddGeneralMetricWaitMax,
        cddGeneralCacheHits,
        cddGeneralCacheEnable,
        cddGeneralCacheTime,
        cddGeneralTTL,
        cddGeneralDefPriorityWeight,
        cddGeneralQueryRate,
        cddGeneralAccessList
    }
    STATUS current
    DESCRIPTION
        "A collection of objects providing Distributed Director
        general configurations, statistics and status."
    ::= { ciscoDistDirMIBGroups 1 }

ciscoDistDirHostGroup OBJECT-GROUP
    OBJECTS {
        cddHostServicePort,
        cddHostPriorityWeight,
        cddHostDrpMed,
        cddHostDrpRttProbes,
        cddHostDrpRttTol,
        cddHostAccessControl,
        cddHostMultipleRecord,
        cddHostLogging,
        cddHostUrlString,
        cddHostUrlIntv,
        cddHostRequests,
        cddHostReplies,
        cddHostRowStatus,
        cddHostConnectCfgIntv,
        cddHostConnectCfgRowStatus,
        cddHostTolCfgPerc,
        cddHostTolCfgRowStatus
    }
    STATUS current
    DESCRIPTION
        "A collection of objects providing Distributed Director
        per virtual hostname configurations, statistics and
        status."
    ::= { ciscoDistDirMIBGroups 2 }

ciscoDistDirServerGroup OBJECT-GROUP
    OBJECTS {
        cddServerDrpAddrType,
        cddServerDrpAddr,
        cddServerAdmin,
        cddServerPortion,
        cddServerName,
        cddServerAvail,
        cddServerHits,
        cddServerLastHitTime,
        cddServerDrpSerMetric,
        cddServerPortionHits,
        cddServerAccessList,
        cddServerRowStatus,
        cddServerPortAdmin,
        cddServerPortConnIntv,
        cddServerPortAvail,
        cddServerPortUrlString,
        cddServerPortUrlIntv,
        cddServerPortPortion,
        cddServerPortHits,
        cddServerPortStatus,
        cddServerPortDownCertainty,
        cddServerPortNextRetry,
        cddServerPortPortionHits,
        cddServerPortAccessList,
        cddServerPortRowStatus,
        cddServerPortMetricWeight,
        cddServerPortMetricRowStatus
    }
    STATUS current
    DESCRIPTION
        "A collection of objects providing Distributed Director
        per server configurations, statistics and status."
    ::= { ciscoDistDirMIBGroups 3 }

ciscoDistDirMappingGroup OBJECT-GROUP
    OBJECTS {
        cddHostServerMappingRowStatus
    }
    STATUS current
    DESCRIPTION
        "A collection of object(s) providing the associations
        between virtual hostnames and real servers."
    ::= { ciscoDistDirMIBGroups 4 }

ciscoDistDirNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        ciscoDistDirEventServerUp,
        ciscoDistDirEventServerDown,
        ciscoDistDirEventHitRateHigh
    }
    STATUS current
    DESCRIPTION
        "A collection of objects providing Distributed Director
        significant events."
    ::= { ciscoDistDirMIBGroups 5 }

END